/**
 * 
 */
package co.com.sed.model.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
/*import java.util.Calendar;*/
import java.util.Date;
/*import java.util.GregorianCalendar;*/
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
/*import java.util.Locale;*/
import java.util.Map.Entry;
import javax.servlet.http.HttpServletRequest;


/**
 * clase utilizada para realizar pruebas.
 *
 */
/**
 * @author Mejia
 *
 */
/**
 * @author Mejia
 *
 */
public class Util {

	/**
	 * Escribe un mensaje en la salida estandar del sistema
	 * 
	 * @param mensaje			texto a imprimir en la salida estandar del sistema
	 * @see         			System.out.println
	 */
	public static void print(String mensaje) {
		if(Configuracion.DESARROLLO)
			System.out.println(mensaje);
	}
	
	
	/**
	 * indica la fecha y hora actual del sistema
	 * 
	 * @return					fecha y hora actual
	 * @see         			Date
	 */
	public static Date currentDate() {
		return new Date();
	}
	

	/**
	 * da formato a un Date para utilizarlo en sentencias SQL
	 * 
	 * @param date				el objeto Date a formatear
	 * @see         			Configuracion.FORMATO_FECHA_SQL, SimpleDateFormat
	 */
	public static String sqlFormatDate(Date date) {
		SimpleDateFormat sdf = new SimpleDateFormat(Configuracion.FORMATO_FECHA_SQL);
		return sdf.format(date);
	}

	/**
	 * da formato a un Date para utilizarlo en sentencias SQL
	 * 
	 * @param date				la fecha en formato long que se desea formatear
	 * @see         			Configuracion.FORMATO_FECHA_SQL, SimpleDateFormat
	 */
	public static String sqlFormatDate(long date) {
		SimpleDateFormat sdf = new SimpleDateFormat(Configuracion.FORMATO_FECHA_SQL);
		return sdf.format(new Date(date));
	}
	
	public java.util.Date obtenerFecha (String fecha){
			
			SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
			Date fechaRetorno = null;
			
			try {
				fechaRetorno = formato.parse(fecha);
				return fechaRetorno;
			} catch (ParseException e) {
				// TODO Auto-generated catch block
				Util.print("error convirtiendo fecha" );
				return fechaRetorno;
				
			}
			
	}
	
	
	public static Date convertToDate(String sFecha) throws ParseException {
		Date date =  new SimpleDateFormat("dd/MM/yyyy").parse(sFecha);
		return date;
		}
	

	public static void imprimirParametros(HttpServletRequest request){
		Map<String, String[]> params = request.getParameterMap();
		Set<Entry<String, String[]>> set = params.entrySet();
		Iterator<Entry<String, String[]>> iter = set.iterator();
		while (iter.hasNext()) {
		Entry<String, String[]>  n = (Entry<String, String[]> ) iter.next();
		System.out.println(n.getKey().toString() +": " + Arrays.toString(n.getValue()));
		}
		}


	
}

